/**
 * 项目名：五位一体化工安全信息平台
 * 日期：    2019-12-07 13:44:19
 * Copyright (c) 2015- joysuch-版权所有
 */
package com.joysuch.wwyt.bp.service;

import com.joysuch.wwyt.bp.bean.*;
import com.joysuch.wwyt.bp.entity.BpEmergencyDefect;
import com.joysuch.wwyt.bp.entity.BpEmergencyExercisePlan;
import com.joysuch.wwyt.bp.entity.BpEmergencyExerciseRecord;
import com.joysuch.wwyt.bp.entity.BpEmergencyTrainingDrill;

import static com.joysuch.wwyt.bp.bean.BpEmergencyTrainingDrillListBean.Search;


import com.joysuch.wwyt.common.entity.CommonIndexNotify;
import com.joysuch.wwyt.core.common.ajax.ResultBean;
import com.joysuch.wwyt.core.exception.ApiBusinessException;
import com.joysuch.wwyt.core.exception.BusinessRestrictionsException;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.text.ParseException;
import java.util.List;

public interface BpEmergencyTrainingDrillService {

    public BpEmergencyTrainingDrill add(BpEmergencyTrainingDrillEditBean entity) throws Exception;

    void update(BpEmergencyTrainingDrillEditBean entity) throws Exception;

    Page<BpEmergencyTrainingDrillListBean> findByPage(Pageable page, Search condition) throws ParseException;

    void delete(Long id) throws BusinessRestrictionsException;

    BpEmergencyTrainingDrill findById(Long id);

    BpEmergencyExercisePlan saveExercisePlan(BpEmergencyExercisePlanBean bean) throws ApiBusinessException;

    //BpEmergencyExercisePlan updateExercisePlan(BpEmergencyExercisePlanBean bean);

    void deleteExercisePlan(Long id);

    BpEmergencyExercisePlanBean getExercisePlan(Long id);

    Page<BpEmergencyExercisePlanBean> pageExercisePlan(Pageable page, BpEmergencyExercisePlanBean.Search condition);

    BpEmergencyExerciseRecord addRecord(BpEmergencyExerciseRecordBean bean);

//    BpEmergencyExerciseRecord updateRecord(BpEmergencyExerciseRecordBean bean);

    BpEmergencyExerciseRecordBean getRecord(Long id);

    Page<BpEmergencyExerciseRecordBean> pageRecord(Pageable page, BpEmergencyExerciseRecordBean.Search condition);

    List<BpEmergencyDefectBean> defect(Long id);

    BpEmergencyDefect defectAction(Long id);

    void notifyPlan(Long id);

    ResultBean deleteRecord(Long id);

    ResultBean deleteRecords(List<Long> ids);

    void updateRecord(Long id, Integer state);
}
